for i in range(int(input())):
s1 = input()
s2 = input()
s = s1+s2
se = set(s)
print(len(se)-1)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int dt=86400;
#define pb push_back
#define ff first
#define ss second
const ll c=2022;
int main(){
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
// freopen("input.txt","r", stdin);
int t;cin>>t;
while(t--){
string s1, s2; cin>>s1>>s2;
set<char> cnt;
for(char c:s1){
cnt.insert(c);
}
for(char c:s2){
cnt.insert(c);
}
cout << cnt.size()-1 << endl;
}
return 0;
}
136. Single Number | 169. Majority Element |
119. Pascal's Triangle II | 409. Longest Palindrome |
1574A - Regular Bracket Sequences | 1574B - Combinatorics Homework |
1567A - Domino Disaster | 1593A - Elections |
1607A - Linear Keyboard | EQUALCOIN Equal Coins |
XOREQN Xor Equation | MAKEPAL Weird Palindrome Making |
HILLSEQ Hill Sequence | MAXBRIDGE Maximise the bridges |
WLDRPL Wildcard Replacement | 1221. Split a String in Balanced Strings |
1002. Find Common Characters | 1602A - Two Subsequences |
1555A - PizzaForces | 1607B - Odd Grasshopper |
1084A - The Fair Nut and Elevator | 1440B - Sum of Medians |
1032A - Kitchen Utensils | 1501B - Napoleon Cake |
1584B - Coloring Rectangles | 1562B - Scenes From a Memory |
1521A - Nastia and Nearly Good Numbers | 208. Implement Trie |
1605B - Reverse Sort | 1607C - Minimum Extraction |